// import com.alibaba.druid.DbType;
// import com.alibaba.druid.sql.ast.SQLStatementImpl;
// import com.alibaba.druid.sql.ast.statement.SQLTableSource_ptr;
// import com.alibaba.druid.sql.ast.statement.SQLWithSubqueryClause_ptr;
// import com.alibaba.druid.sql.dialect.hive.visitor.HiveASTVisitor;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;

// import java.util.ArrayList;
// import java.util.List;
#pragma once
#include "../../../ast/SQLStatementImpl.h"

class HiveMultiInsertStatement : virtual public SQLStatementImpl
{
public:
  SQLWithSubqueryClause_ptr with;
  SQLTableSource_ptr from;

  HiveInsert_list_ptr items;

  HiveMultiInsertStatement();
  SHAREDOBJECT(HiveMultiInsertStatement) ;

  void setFrom(SQLTableSource_ptr x);

  SQLTableSource_ptr getFrom();

  HiveInsert_list_ptr getItems();

  void addItem(HiveInsert_ptr item);

  // @Override
  void accept0(SQLASTVisitor_ptr visitor);

  void accept0(HiveASTVisitor_ptr visitor);

  SQLWithSubqueryClause_ptr getWith();

  void setWith(SQLWithSubqueryClause_ptr with);
};
